package com.ccc.boot.security.constant;

/**
 * 认证与授权相关常量
 *
 * @author superC
 * @date 2022/3/25
 * @version 0.1.0
 */

public class AuthConstant {

    /**
     * 生成密钥的密文
     */
    public static final String RAS_SECRET = "mySecret";

    /**
     * 登录相关接口前缀
     */
    public static final String LOGIN_URI_PREFIX = "/login";

    /**
     * 忽略认证接口-登录相关接口
     */
    public static final String IGNORE_URIS_LOGIN = LOGIN_URI_PREFIX + "/**";

    /**
     * 管理员角色
     */
    public static final String ADMIN = "ADMIN";

    /**
     * 用户角色
     */
    public static final String USER = "USER";

    /**
     * token在header中的属性名称
     */
    public static final String TOKEN_HEADER = "Authorization";

    /**
     * token前缀
     */
    public static final String TOKEN_BEARER = "Bearer ";

    /**
     * TOKEN过期时间，默认30分钟
     */
    public static final int TOKEN_EXPIRATION_MINUTES = 30;

    /**
     * TOKEN缓存过期时间，默认30分钟
     */
    public static final int TOKEN_CACHE_EXPIRATION_SECONDS = 30 * 60 * 2;

    /**
     * token中存储用户信息的属性名
     */
    public static final String TOKEN_PAYLOAD_USER_KEY = "user";


    /**
     *
     */
    public static final String ACCESS_TOKEN = "access_token";

    /**
     * 配置客户端：授权类型（refresh_token）
     */
    public static final String AUTH_GRANT_TYPE_REF_TOKEN = "refresh_token";

}
